#include "..\Modulos\Expresion\expresio.h"

int main(){
Expresion expresion;

    printf("***************************************\n");
    printf("*       PRUEBA MODULO EXPRESION       *\n");
    printf("***************************************\n");

    printf("\n\n\nDe realizarse correctamente la carga de los distintos tipos de expresion los mismos seran desplegados");

    cargarExpresionParentesis(cargarParentesisIzquierdo(),expresion);
    printf("\n\n\nParentesis:\nDeplegue de Expresion Parentesis Izquierdo: ");
    if(esExpresionParentesis(expresion)){
        desplegarExpresion(expresion);
        printf("      Contenido: ");
        desplegaParentesis(seleccionarParentesis(expresion));
    }

    cargarExpresionParentesis(cargarParentesisDerecho(),expresion);
    printf("\nDeplegue de Expresion Parentesis Derecho: ");
    if(esExpresionParentesis(expresion)){
        desplegarExpresion(expresion);
        printf("      Contenido: ");
        desplegaParentesis(seleccionarParentesis(expresion));
    }

    cargarExpresionConectiva(And,expresion);
    printf("\n\nConectivas:\nDeplegue de Expresion 'And': ");
    if(esExpresionConectiva(expresion)){
        desplegarExpresion(expresion);
        printf("      Contenido: ");
        desplegaConectivas(seleccionarConectiva(expresion));
    }

    cargarExpresionConectiva(Or,expresion);
    printf("\nDeplegue de Expresion 'Or': ");
    if(esExpresionConectiva(expresion)){
        desplegarExpresion(expresion);
        printf("      Contenido: ");
        desplegaConectivas(seleccionarConectiva(expresion));
    }

    cargarExpresionConectiva(Not,expresion);
    printf("\nDeplegue de Expresion 'Not': ");
    if(esExpresionConectiva(expresion)){
        desplegarExpresion(expresion);
        printf("      Contenido: ");
        desplegaConectivas(seleccionarConectiva(expresion));
    }

    cargarExpresionConectiva(entonces,expresion);
    printf("\nDeplegue de Expresion 'entonces': ");
    if(esExpresionConectiva(expresion)){
        desplegarExpresion(expresion);
        printf("      Contenido: ");
        desplegaConectivas(seleccionarConectiva(expresion));
    }

    cargarExpresionConectiva(siysolosi,expresion);
    printf("\nDeplegue de Expresion 'siysolosi': ");
    if(esExpresionConectiva(expresion)){
        desplegarExpresion(expresion);
        printf("      Contenido: ");
        desplegaConectivas(seleccionarConectiva(expresion));
    }

    cargarExpresionLetra('p',expresion);
    printf("\n\nLetra Proposicional:\nDeplegue de Expresion 'p': ");
    if(esExpresionLetraProposicional(expresion)){
        desplegarExpresion(expresion);
        printf("      Contenido: ");
        printf("%c", seleccionarLetraProposicional(expresion));
    }
    printf("\n\n\n");
    return 0;
}
